Demodulation involves extracting an original information-bearing signal from a signal which is modulated in accordance with a particular constellation and transmitted over a channel. The complexity of the demodulation process increases significantly for very large signal constellations. Relatively large signal constellations such as 16-, 32- and 64-QAM (Quadrature Amplitude Modulation) have been adopted in EDGE (Enhanced Data Rates for GSM Evolution), HSPA (High Speed Packet Access), LTE (Long Term Evolution) and WiMax (Worldwide Interoperability for Microwave Access). In HSPA, multi-code transmission creates even larger effective constellations. Also, MIMO (Multiple-Input, Multiple-Output) schemes with two or more streams have been adopted in HSPA, LTE and WiMax. MIMO implementations also yield relatively large effective constellations. Demodulation complexity further increases when any of these techniques occur in combination, e.g. multi-code and MIMO.
The ideal demodulation scheme is MLD (Maximum Likelihood Detection). However, the complexity of MLD increases substantially due to the size of the modulation constellation and/or because of the exponential effects of MIMO or multi-codes to the point where MLD becomes impractical. Less complex solutions are available such as sphere decoding (SD), where the demodulator tries to approximate the performance of MLD, but limits its search for the best solution to a subset of all possible transmitted signals, and where the subset is described by a sphere. A key step in SD is the triangular factorization of the channel matrix. This step simplifies the identification of candidate solutions in the sphere.
Another conventional demodulation technique is ITS (Iterative Tree Search) detection for MIMO QAM. ITS can be viewed as an alternative to SD. Like SD, ITS exploits the triangular factorization of the channel. Unlike SD, ITS uses the M-algorithm for reducing the search for the best candidate. ITS breaks down the search further, by dividing the QAM constellation in its four quadrants, and representing each quadrant by its centroid in intermediate computations. The selected quadrant itself is subdivided again into its 4 quadrants, and so on. This results in a quaternary tree search. Other conventional approaches give particular attention to the additional error introduced by the use of the centroids instead of true symbols. The error is modeled as Gaussian noise whose variance is determined and incorporated in likelihood computations. However, a tight connection is typically made between the centroid representation and the bit mapping from bits to symbols. That is, if a so-called multi-level bit mapping is employed, then identifying a quadrant is equivalent to making a decision on a certain pair of bits. Such constraints place a restriction on bit mappings, restricting the design of subsets.
Soft bit information is generated based on the demodulation results. Joint detection (JD) is the MLD form in the MIMO scenario, and is often used in generation of soft bit information. JD searches over all qM effective constellation points for an M×1 vector c of transmitted symbols corresponding to M transmitted streams for the candidate that minimizes the metric m(c)=(r−Hc)HR−1(r−Hc). There are several ways to produce soft values for JD. One conventional approach is based on the concept of nearest neighbors.
A nearest neighbor (NN) is a symbol at the smallest distance from a given symbol. From the perspective of JD, the NNs in principle should be in the “receive domain”. That is, the metric m(c) given above is used, to include the effect of the channel. The distance between two symbol vectors c and d is then given by (Hc−Hd)HR−1(Hc−Hd) where H is an N×M channel coefficient matrix where the columns correspond to the M transmitted streams and R is a noise covariance matrix. Finding NNs in the receive domain is a highly complex operation because the channel effectively distorts the signal constellation, making it difficult to search. Also, since H and R change with time, the operation must be repeated.
Another approach involves finding the NNs in the “transmit domain”, where the constellation is un-distorted by the channel and easily searchable, allowing many factors to be pre-computed. The standard Euclidean distance is also used. Specifically, the effect of the channel is ignored and the neighbors in the original constellation are considered. Furthermore, the NNs of the M individual symbols of a symbol vector can be examined. Altogether, this simplifies the search for NNs. However, some valuable information is lost by ignoring the effect of channel. Also, an NN in the transmit domain is not necessarily an NN in the receive domain.
From the concept of NN arises the concept of bit nearest neighbor (BNN). Without much loss of generality, a constellation with 2J symbols is considered. Let bJ−1Λb0 denote the J bits mapping into symbol ĉ at position k in the symbol vector ĉ. For bit bj, the BNN cj is defined as the closest symbol in the constellation with bj flipped. If multiple symbols satisfy the BNN requirement, one is selected so that the BNN is unique. No conditions are imposed on the remaining J−1 bits, which may or may not change. The BNNs can be computed off-line, from the constellation and the bit map.
Given a soft value solution ĉ out of JD, a symbol vector c is constructed for bit bj where the k-th symbol ĉ is replaced by its BNN cj. The other symbols are left unchanged. The soft value for bit bj in symbol ci is given by βj=m(ĉ)−m( c) where c is commonly referred to as the BNN vector. There is a need to adapt the concept of NNs and BNNs to receiver architectures that employ serial localization with indecision which represents transmitted symbols as a series of approximations.